Field of the Invention
The present invention relates to customized programming of integrated circuits, such as during manufacturing.
Description of Related Art
With In-System Programming (ISP), integrated circuits such as programmable logic devices, microcontrollers, and other embedded devices can be programmed while mounted in a printed circuit board or otherwise installed in a complete system, rather than requiring the chip to be programmed prior to installing it into the system.
An advantage of this ISP feature is that it allows manufacturers of electronic devices to integrate programming and testing into a single production phase, rather than requiring a separate programming stage prior to assembling the system. This may allow manufacturers to program the chips in their own system's production line instead of buying preprogrammed chips from a manufacturer or distributor, making it feasible to apply code or design changes in the middle of a production run.
In one approach, integrated circuits supporting ISP have internal circuitry to generate any necessary programming voltage from the system's normal supply voltage, and communicate off-chip via a serial protocol. One such serial protocol implemented in programmable logic devices is a variant of the Joint Test Action Group (JTAG) protocol for ISP, which facilitates easier integration with automated testing procedures. Other devices can use proprietary protocols or protocols defined by older standards. In other systems, designers may implement a JTAG-controlled programming subsystem for non-JTAG devices such as flash memory and microcontrollers, allowing the entire programming and test procedure to be accomplished under the control of a single protocol.
However, such a serial protocol approach presents various problems. The serial protocol can operate through one or more intermediate integrated circuits that are electrically in between the circuitry issuing programming instructions, and the target integrated circuit undergoing programming. This introduces complexity into the integrated circuits due to the additional circuitry which performs the serial protocol programming. Further, because the target integrated circuit undergoing programming shares electrical signals such as power, ground, clock, input, and output with other integrated circuits, other integrated circuits experience noise while programming the target integrated circuit.
It is therefore desirable to provide integrated circuits and methods of programming such devices which address the issues discussed above and result in improved in-system programming.